var v = document.getElementsByName("val");
let isUserTyping = false;
function getNowFormatDate() {
  let date = new Date(),
    obj = {
      year: date.getFullYear(), //获取完整的年份(4位)
      month: date.getMonth() + 1, //获取当前月份(0-11,0代表1月)
      strDate: date.getDate(), // 获取当前日(1-31)
      week: '星期' + '日一二三四五六'.charAt(date.getDay()), //获取当前星期几(0 ~ 6,0代表星期天)
      hour: date.getHours(), //获取当前小时(0 ~ 23)
      minute: date.getMinutes(), //获取当前分钟(0 ~ 59)
      second: date.getSeconds() //获取当前秒数(0 ~ 59)
    }

  Object.keys(obj).forEach(key => {
    if (obj[key] < 10) obj[key] = `0${obj[key]}`
    // console.log(obj[key])
  })

  return `${obj.year}年${obj.month}月${obj.strDate}日${obj.week} ${obj.hour}:${obj.minute}:${obj.second}`
}
window.onload = function () {//do something
  var name = document.getElementById("username");
  // document.getElementById('background').style.display = 'none';
  // ssetInterval(function(){document.getElementById('loader-container').style.display = 'none';document.getElementById('background').style.display = 'flex';},3000);  
  setInterval(function () { name.textContent = "admin" + getNowFormatDate(); }, 1000);
  fetchDataOne();
}

setInterval(fetchDataAndUpdatePage, 5000);

setInterval(fetchDataslow, 10000);
// 
const dataUrl = 'http://192.168.31.252:8787/home.html?getdata';
const dataHis = 'http://192.168.31.252:8787/home.html?gethistory';
// 定义获取数据并更新页面的函数 
function fetchDataslow() {
  fetch(dataUrl)
    .then(response => response.text()) // 假设服务器返回JSON格式的数据  
    .then(data => {
      // 更新页面上的数据  
      let jsonObject = JSON.parse(data); // 假设data是包含JSON字符串的变量 
      v[4].checked = jsonObject.data[2].value ? true : false;
      v[5].checked = jsonObject.data[7].value ? true : false;
      v[6].checked = jsonObject.data[10].value ? true : false;
      v[7].checked = jsonObject.data[11].value ? true : false;
      v[8].checked = jsonObject.data[3].value ? true : false;
      v[9].value = jsonObject.data[6].value;
      v[10].value = jsonObject.data[4].value;
      v[11].value = jsonObject.data[5].value;
      // }
      // console.log(jsonObject);
    })
    .catch(error => {
      console.error('获取数据失败:', error);
    });
}
function fetchDataAndUpdatePage() {

  fetch(dataUrl)
    .then(response => response.text()) // 假设服务器返回JSON格式的数据  
    .then(data => {
      // 更新页面上的数据  
      let jsonObject = JSON.parse(data); // 假设data是包含JSON字符串的变量 
      // 使用for循环遍历data数组  
      for (let i = 0; i < 2; i++) {
        v[i].dataset.text = parseFloat(jsonObject.data[i].value.toFixed(2))
      }
      v[2].dataset.text=parseFloat(jsonObject.data[10].value.toFixed(2));

      v[3].dataset.text=parseFloat(jsonObject.data[8].value.toFixed(2));
      console.log(jsonObject);
      // v[4].checked=jsonObject.data[2].value?true:false;
      // v[5].checked=jsonObject.data[7].value?true:false;
      // v[6].checked=jsonObject.data[10].value?true:false;
      // v[7].checked=jsonObject.data[11].value?true:false;
      // v[8].checked=jsonObject.data[3].value?true:false;
      // // console.log(jsonObject.data[i]);
      // v[9].value = jsonObject.data[6].value;
      // v[10].value = jsonObject.data[4].value;
      // v[11].value = jsonObject.data[5].value;
      // }
      // console.log(jsonObject);
    })
    .catch(error => {
      console.error('获取数据失败:', error);
    });

  fetch(dataHis)
    .then(response => response.text()) // 假设服务器返回JSON格式的数据  
    .then(data => {
      // 假设data是包含JSON字符串的变量 
      echart(data);
      

    })
    .catch(error => {
      console.error('获取数据失败:', error);
    });
}

function fetchDataOne() {
  fetch(dataUrl)
    .then(response => response.text()) // 假设服务器返回JSON格式的数据  
    .then(data => {
      // 更新页面上的数据  
      let jsonObject = JSON.parse(data); // 假设data是包含JSON字符串的变量 
      v[4].checked = jsonObject.data[2].value ? true : false;
      v[5].checked = jsonObject.data[7].value ? true : false;
      v[6].checked = jsonObject.data[10].value ? true : false;
      v[7].checked = jsonObject.data[11].value ? true : false;
      v[8].checked = jsonObject.data[3].value ? true : false;
      // console.log(jsonObject.data[i]);
      v[9].value = jsonObject.data[6].value;
      v[10].value = jsonObject.data[4].value;
      v[11].value = jsonObject.data[5].value;

    })
    .catch(error => {
      console.error('获取数据失败:', error);
    });
}

function onclicked(a) {
  var url = "http://192.168.31.252:8787/home.html";
  var data;
  if (a == 4) {
    data = { key: 303, value: (v[4].checked ? 1 : 0) };
  }
  else if (a == 5) {
    data = { key: 308, value: (v[5].checked ? 1 : 0) };
  } else if (a == 6) {
    data = { key: 104, value: (v[6].checked ? 1 : 0) };
  }
  else if (a == 7) {
    data = { key: 102, value: (v[7].checked ? 1 : 0) };
  }
  else if (a == 8) {
    data = { key: 304, value: (v[8].checked ? 1 : 0) };
  }
  else if (a == 9) {
    data = { key: 307, value: v[9].value };
  }
  else if (a == 10) {
    data = { key: 305, value: v[10].value };
  }
  else if (a == 11) {
    data = { key: 306, value: v[11].value };
  }
  fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(data),
  })
    .then(response => response.text())
    .then(json => console.log(json))
    .catch(error => console.error('Error:', error));
}
// 时间转换
function gmtToDateTime(gmtTime) {
  if (gmtTime.length !== 10) {
    throw new Error('GMT time must be a 10-digit timestamp');
  }
  const date = new Date(gmtTime * 1000); // 将秒转换为毫秒
  const year = date.getFullYear();
  const month = ('0' + (date.getMonth() + 1)).slice(-2); // 月份是从0开始的
  const day = ('0' + date.getDate()).slice(-2);
  const hours = ('0' + date.getHours()).slice(-2);
  const minutes = ('0' + date.getMinutes()).slice(-2);
  const seconds = ('0' + date.getSeconds()).slice(-2);
  // return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  return `${minutes}:${seconds}`;

}



let tm = [];
let humi = [];
let temp = [];
function echart(hisdata) {
  let arr = JSON.parse(hisdata);

  // console.log(arr.data[0].time);
  // for (var i = 0; i < arr.data.length; i++) {
    // const timeOnly = arr.data[0].time.toString(); // 只取前四位进行转换
const dateTime = gmtToDateTime(arr.data[0].time.toString());

  // var e=convertNineDigitUTCTime(timeOnly); // 输出: "14:30"
  tm.push(dateTime);
  humi.push(arr.data[0].humi);
  temp.push(arr.data[0].temp);
  // console.log("Time: " + item.time + ", Humi: " + item.humi);  
  // }
  // console.log(tm);
  var chartDom = document.getElementById('main');
  var myChart = echarts.init(chartDom);
  var option;

  option = {

    tooltip: {
      trigger: 'axis',
      axisPointer: {
        type: 'cross',
        label: {
          backgroundColor: '#6a7985'
        }
      }
    },
    legend: {
      data: ['湿度', '温度']
    },
    toolbox: {
      feature: {
        saveAsImage: {}
      }
    },
    grid: {
      left: '3%',
      right: '4%',
      bottom: '3%',
      containLabel: true
    },


    xAxis: [
      {
        // min:0,
        type: 'category',
        axisLabel: {
          interval: 2
        },
        boundaryGap: false,
        data: tm
      }
    ],
    yAxis: [
      {
        type: 'value'
      },
    ],
    series: [
      {
        name: '湿度',
        type: 'line',
        stack: 'Total',
        color: '#30e3ca',
        areaStyle: {},
        emphasis: {
          focus: 'series'
        },
        data: temp
      },
      {
        name: '温度',
        type: 'line',
        stack: 'Total',
        color: '#ff8c94',
        label: {
          show: true,
          position: 'top'
        },
        areaStyle: {},
        emphasis: {
          focus: 'series'
        },
        data: temp
      }
    ]
  };

  option && myChart.setOption(option);

}




